﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel.DataAnnotations;
using System.Data.Entity.ModelConfiguration;

namespace PGE.AfastamentosTempMVC.Modelo
{
    [Table("Funcionario")]
    public class Funcionario
    {
        [Key]
        public int Id { get; set; }

        [Column(TypeName = "varchar")]
        [Required(ErrorMessage = "Campo Cadastro é obrigatório."), StringLength(20)]
        public string Cadastro { get; set; }

        [Column(TypeName = "varchar")]
        [Required(ErrorMessage = "Campo Nome Funcionário é obrigatório."), StringLength(100)]
        [Display(Name = "Funcionário")]
        public string Nome_Funcionario { get; set; }

        [Required(ErrorMessage = "Campo Setor é obrigatório.")]
        public int IdSetor { get; set; }

        [ForeignKey("IdSetor")]
        public virtual Setor Setor { get; set; }

        [Display(Name = "Núcleo")]
        public int IdNucleo { get; set; }

        [ForeignKey("IdNucleo")]
        public virtual Nucleo Nucleo { get; set; }

        public virtual ICollection<Afastamento> Afastamentos { get; set; }

        public Funcionario()
        {
            this.Afastamentos = new HashSet<Afastamento>();
        }

    }

}



